const { defineConfig } = require('@vue/cli-service')

module.exports = defineConfig({
  transpileDependencies: true,
  
  // 开发服务器配置
  devServer: {
    port: 8080, // 开发服务器端口
    open: true, // 自动打开浏览器
    
    // 代理配置
    proxy: {
      // 代理所有以 /api 开头的请求
      '/api': {
        target: 'http://springboot.w1.luyouxia.net', // 后端服务器地址
        changeOrigin: true, // 允许跨域
        ws: true, // 支持websocket
        pathRewrite: {
          '^/api': '/api' // 保持 /api 前缀
        },
        // 日志输出
        logLevel: 'debug'
      }
    }
  },
  
  // 生产环境配置
  publicPath: process.env.NODE_ENV === 'production' ? './' : '/',
  
  // 输出目录
  outputDir: 'dist',
  
  // 静态资源目录
  assetsDir: 'static',
  
  // 是否在保存时进行eslint检查
  lintOnSave: process.env.NODE_ENV !== 'production',
  
  // 生产环境是否生成sourceMap
  productionSourceMap: false,
  
  // webpack配置
  configureWebpack: {
    // 提供给模块的全局常量
    resolve: {
      alias: {
        '@': require('path').resolve(__dirname, 'src')
      }
    }
  }
})